Page 12: 无参数函数
作者:Thau!
HTML页含有一个叫做announceTime的函数。从一个链接阀用
annoumnceTime

<a href="#" onClick="announceTime();">time!</a>

就象这样:

下行看起来就象第二课:


<a href="#" onClick="alert('Hello!');">Hello!</a>

这称为从一个链接调用警告对话框。函数就象一种方法,
唯一不同的是,方法依附于一个对象。在这个警告的例子
中,这个对象是一个窗口对象。

让我们回到函数本身。如果你看看源码,你将看到函数位
HTML文件的头部中。

 


<html>

<head>

<title>Function with No Parameters</title>

<script langauge="JavaScript">

<!-- hide me

function announceTime()

{

	//get the date, the hour, minutes, and seconds

	var the_date = new Date();

	var the_hour = the_date.getHours();

	var the_minute = the_date.getMinutes();

	var the_second = the_date.getSeconds();


	//put together the string and alert with it

	var the_time = the_hour + ":" + the_minute + ":" + the_second;

	alert("The time is now: " + the_time);

}


// show me -->

</script>


</head>

<body>

...

</body>

</html>
好,让我们逐行复习这个函数。首先,所有函数来自于该种格式:

function functionName(parameter list)

{

	statements ...

}

函数的命名规则于变量差不多。第一个字符必须是字母或
一标准符号。其余字符可为数字或一横线。但必须保证函
数不于已定义的变量同名。否则将出现很糟糕的结果。我
是用内部大写的方式命名函数以保证它们不与字符碰巧重
名。

函数名后是一组参数。本例是无参数的函数,下一例中我
们再举例描述。

参数后是函数的主体。这是一组当函数调用后是想运行的
语句。在下面几个例子中,我打算利用这个报时器,所以
让我描述一下它是怎样工作的。

第一行:


var the_date = new Date();

取得一个新的日期对象。就象你在用数组时取得一个新的
数组一样,在你要找出即时是什么时间时你需要先取得一
个日期对象。当找到了一个新的日期对象,它自动重置到
当前的日期和时间。为了在对象以外得到这个信息,你必
须使用这种对象方法:

这些方法从日期对象上取得了合适的数字。


var the_hour = the_date.getHours();

var the_minute = the_date.getMinutes();

var the_second = the_date.getSeconds();

你可能疑惑:我怎样能假定日期对象知道何种方式?甚或
我如何知道有这样一件事可作为日期对象?这些缘由应从
Javascript 库中获取,我将尽我所能解释内置Javascript
对象,但不一定能彻底的使你清楚。

函数的其他部分就很清楚了。它以这种方式调用
返回数字,把它们变成字符串,并且调用警告方
式以弹出一个字符串对话框。注意你可以在函数
内部调用一个方式和函数。我们将详尽讨论。

现在如果你也玩透了时间链接,你可能注意到了有些什么
不对的事。你每次可能会得到这样的反馈:
12:12:04”,
这是
getSecond()将返回值为“4”。那么当你合成为时间
时,你看到的就是
the_minute+:+the_second得到14:4
而非是我们想要的。解决它是个容易的事,需要个新的函
数来修补分、秒合成值。

请看参数及返回值

1: 第四课介绍
2: 循环介绍
3: 循环的密码
4: 再谈WHILE循环
5: For 循环
6: 嵌套循环
7: 循环练习
8: 数组
9: 数组和循环
10:文件目标模块中的数组
11: 函数
12: 无参数函数
13: 参数及返回值
14: 多于一个参数的函数